When a brushless DC motor using a permanent magnet as a rotor is driven as a synchronous motor, it is necessary that the absolute position of the rotor is obtained and the correct current control is performed. In order to obtain the absolute value of the rotor, a rotor position detector such as an encoder or a resolver is generally used. However, since there are problems regarding complicateness of wiring or structure, price, use environment and the like, methods of estimating the position of the magnetic pole not using a rotor position detector have been proposed.
In the prior art, methods of estimating the position of the magnetic pole of the permanent magnet synchronous motor are known as follows.
[1] The Transaction of the Institute of Electrical Engineers of Japan, Vol. 113-D, No. 5, May 1993, p579 to 586.
[2] The Transaction of the Institute of Electrical Engineers of Japan, Vol. 114-D, No. 5, May, 1994, p591 to 592.
[3] The Transaction of the Institute of Electrical Engineers of Japan, Vol. 115-D, No. 4, April, 1995, p420 to 427.
[1] is a method that when stator currents I.sub..alpha., I.sub..beta. converted to .alpha.-.beta. axis coordinate system set on the stator are made observed values and stator voltages v.sub..alpha., v.sub..beta. are made inputs, magnetic flux .lambda..sub..alpha., .lambda..sub..beta. and rotor speed are estimated using adaptive rule.
[2] is a method that when stator currents i.sub..alpha., i.sub..beta. converted to .alpha.-.beta. axis coordinate system are made observed values and stator voltages v.sub..alpha., v.sub..beta. are made inputs, induced voltage .epsilon..sub..alpha. generated in the .alpha. axis direction in the .alpha.-.beta. axis coordinate system and induced voltage .epsilon..sub..beta. generated in the .beta. axis direction are estimated as disturbance.
[3] is a method that deviation angle .theta.e between the .gamma.-.delta. axis and the d-q axis is estimated from difference between stator currents i.sub..gamma., i.sub..delta. converted to the .gamma.-.delta. axis coordinate system set on the stator and rotating in the synchronous speed and current calculated values i.sub..gamma..spsb.0, i.sub..delta..spsb.0 calculated from model.
However, problems in the above-mentioned conventional methods are as follows.
Regarding [1], when the method is adopted in a permanent magnet synchronous motor having polarity, on the .alpha.-.beta. axis coordinates, the inductance becomes function of the rotor angle .theta.r of the motor and the state equation becomes complicated, and when an observer is to be constituted, the calculation amount is increased and the utilization is difficult. Also since the flux .lambda..sub..alpha., .lambda..sub..beta. is made unknown quantity, the state equation becomes non-observable at the rotor speed being zero and the estimator itself becomes unstable.
Regarding [2], since the induced voltage converted to the .alpha.-.beta. axis becomes alternating quantity, if the pole of the observer is not set large, the phase difference is produced between the actual quantity and the estimated quantity and the method becomes not to be used.
[3] is a simple method in comparison with [1], [2], moreover since the .gamma.-.delta. axis rotating at the angular velocity substantially synchronized with the d-q axis is considered as the reference, when the deviation .theta.e between the d-q axis and the .gamma.-.delta. axis is small, the state equation is not complicated and the method is excellent regarding the utilization. However, since the actual value is compared with the calculated value simply introduced from the model when the .gamma.-.delta. axis is coincident with the d-q axis, the deviation .theta.e can not be always estimated correctly due to the modeling error.
Further in the reference of [3], a method is taken in that the speed estimated value and the error between the d-axis and the .gamma. axis are estimated from the induced voltage or the estimated value of the induced voltage in the high speed region, and the speed control is performed while the .gamma. axis is coincident with the d-axis. However, this method can obtain the precision only in the region where the induced voltage is sufficiently high, and the estimation is impossible at the zero speed.
Therefore in the case of a synchronous motor of salient pole type, utilizing the property that the d-axis direction and the q-axis direction are different in inductance, if the inductance is measured while the motor is stopped, the d-axis can be known from the variation of the value of the inductance.
On the other hand, in the case of a synchronous motor of non-salient pole type, since the inductance is same in any pole, the above-mentioned method can not be used. When the synchronous motor has no load, if DC current flows in certain direction, the magnetic axis of the synchronous machine has property of moving so as to be coincident with the current flowing direction. Consequently if the current flows in the assigned magnetic axis, after lapse of sufficient time, the magnetic axis coincides with the assigned magnetic axis. As a result, the magnetic axis can be known.
However, these methods can be used only at the low speed state, and at the speed higher than certain speed, the estimation method must be changed to that described in the reference of [3]. This changing speed is different depending on sort of machines, and the rapid changing causes variation of the torque, and further different algorithms must be prepared at the low speed state basically. Therefore there is a problem that the design and the control are troublesome.